<?php
class MajoribolModel extends CI_Model {
    
    function buscarTimes(){
        $values = $this->db->select('id, time')->get('majoribol_times')->result_array();

        $options = array();
        $options[""] = "-Selecione-";
        foreach($values as $value)
        {
                $options[$value['id']] = $value['time'];
        }

        //return the new array for our form_dropdown();
        return $options;
    }
    
    function buscarTudoJogadores(){
        $this->db->select('*');
        $this->db->join('majoribol_jogadores_majoribol_rodada', 'majoribol_jogadores_majoribol_rodada.majoribol_jogadores_id = majoribol_jogadores.id');
        $this->db->join('majoribol_times', 'majoribol_times.id = majoribol_jogadores.majoribol_time_id');
        $this->db->select_sum('votos');
        $this->db->group_by('majoribol_jogadores.id');
        $this->db->order_by("votos", "desc");
        $this->db->limit(7);
        return $this->db->get('majoribol_jogadores')->result();
    }
    
    function buscarTudoTimes(){
        $this->db->select('*');
        $this->db->join('majoribol_times_majoribol_rodada', 'majoribol_times_majoribol_rodada.majoribol_times_id = majoribol_times.id');
        $this->db->select_sum('votos');
        $this->db->group_by('majoribol_times.id');
        $this->db->order_by("votos", "desc");
        $this->db->limit(7);
        return $this->db->get('majoribol_times')->result();
    }
    
    function buscarTime($id){
        $this->db->select('*');
        $this->db->where('id', $id);
        return $this->db->get('majoribol_times')->row();
    }
    
    function buscarJogador($id){
        $this->db->select('*');
        $this->db->where('id', $id);
        return $this->db->get('majoribol_jogadores')->row();
    }
    
    function buscarTimeid($id){
        $this->db->select('time');
        $this->db->where('id', $id);
        return $this->db->get('majoribol_times')->row()->time;
    }
    
    function buscarJogadoresPosicao($posicao, $time = FALSE){
        $this->db->select('id, nome, majoribol_time_id');
        $this->db->where('majoribol_posicoes_id', $posicao);
        if(!$time){
            $this->db->order_by("majoribol_time_id", "asc");
            $this->db->order_by("nome", "asc");
            $values = $this->db->get('majoribol_jogadores')->result_array();
            $options = array();
            $options[""] = "-Selecione-";
            foreach($values as $value)
            {
                    $options[$value['id']] = $this->buscarTimeid($value['majoribol_time_id']).' - '.$value['nome'];
            }
        }else{
            $this->db->where('majoribol_time_id', $time);
            $this->db->order_by("nome", "asc");
            $options = $this->db->get('majoribol_jogadores')->result();
        }
        //return the new array for our form_dropdown();
        return $options;
    }
    
    function melhorJogPos($posicao, $rodada = FALSE, $time = FALSE){
        $this->db->select('*');
        $this->db->join('majoribol_jogadores_majoribol_rodada', 'majoribol_jogadores_majoribol_rodada.majoribol_jogadores_id = majoribol_jogadores.id');
        $this->db->join('majoribol_times', 'majoribol_times.id = majoribol_jogadores.majoribol_time_id');
        if($time){
            $this->db->where('majoribol_time_id', $time);
        }
        $this->db->where('majoribol_posicoes_id', $posicao);
        if($rodada){
            $this->db->where('majoribol_rodada_id', $rodada);
        }else{
            $this->db->select_sum('votos');
        }
        $this->db->order_by("votos", "desc"); 
        return $this->db->get('majoribol_jogadores')->row();
        
    }
    
    function melhorTimeRod($rodada){
        $this->db->select('*');
        $this->db->join('majoribol_times_majoribol_rodada', 'majoribol_times_majoribol_rodada.majoribol_times_id = majoribol_times.id');
        
        $this->db->where('majoribol_rodada_id', $rodada);
        $this->db->select_sum('votos');
        $this->db->order_by("votos", "desc"); 
        return $this->db->get('majoribol_times')->row();
        
    }
    
    function melhorJogTime($time){
        $this->db->select('*');
        $this->db->join('majoribol_jogadores_majoribol_rodada', 'majoribol_jogadores_majoribol_rodada.majoribol_jogadores_id = majoribol_jogadores.id');
        $this->db->where('majoribol_time_id', $time);
        $this->db->select_sum('votos');
        $this->db->group_by('majoribol_jogadores_id');
        $this->db->order_by("votos", "desc"); 
        return $this->db->get('majoribol_jogadores')->row()->id;
        
    }
    
    function buscarVotosJog($id, $rodada){
    
        $this->db->select('votos');
        $this->db->where('majoribol_rodada_id', $rodada);
        $this->db->where('majoribol_jogadores_id', $id);
        return $this->db->get('majoribol_jogadores_majoribol_rodada')->row()->votos;
    }
    
    function votarJogador($data){
        
        if($this->db->insert('usuarios_voto_jogadores', $data)){
            return true;
        }else{
            return false;
        }
        
    }
    function desvotarJogador($data){
        if($this->db->delete('usuarios_voto_jogadores', $data)){
            return true;
        }else{
            return false;
        }
        
    }
    
    function addVotoJ($id, $rodada, $data){
        $this->db->where('majoribol_rodada_id', $rodada);
        $this->db->where('majoribol_jogadores_id', $id);
        $this->db->update('majoribol_jogadores_majoribol_rodada', $data);
        
    }
    function remVotoJ($id, $rodada, $data){
        $this->db->where('majoribol_rodada_id', $rodada);
        $this->db->where('majoribol_jogadores_id', $id);
        $this->db->update('majoribol_jogadores_majoribol_rodada', $data);
        
    }
    
    function buscarVotosTime($id, $rodada){
    
        $this->db->select('votos');
        $this->db->where('majoribol_rodada_id', $rodada);
        $this->db->where('majoribol_times_id', $id);
        return $this->db->get('majoribol_times_majoribol_rodada')->row()->votos;
    }
    
    function votarTime($data){
        
        if($this->db->insert('usuarios_voto_times', $data)){
            return true;
        }else{
            return false;
        }
        
    }
    
    function addVotoT($id, $rodada, $data){
        $this->db->where('majoribol_rodada_id', $rodada);
        $this->db->where('majoribol_times_id', $id);
        $this->db->update('majoribol_times_majoribol_rodada', $data);
        
    }
    function desvotarTime($data){
        
        if($this->db->delete('usuarios_voto_times', $data)){
            return true;
        }else{
            return false;
        }
        
    }
    
    function remVotoT($id, $rodada, $data){
        $this->db->where('majoribol_rodada_id', $rodada);
        $this->db->where('majoribol_times_id', $id);
        $this->db->update('majoribol_times_majoribol_rodada', $data);
        
    }
    
    function cadJogMeutime($data){
        if($this->db->insert('meu_time', $data)){
            return true;
        }else{
            return false;
        }
    }
    
    function altJogMeutime($rodada, $data, $anterior){
        $this->db->where('majoribol_rodada_id', $rodada);
        $this->db->where('usuarios_id', $this->session->userdata('id'));
        $this->db->where('majoribol_jogadores_id', $anterior);
        $this->db->update('meu_time', $data);
        
    }
    
    function verificaMeutime($id, $rodada){
        $this->db->select('*');
        $this->db->where('majoribol_rodada_id', $rodada);
        $this->db->where('usuarios_id', $id);
        return $this->db->get('meu_time')->row();
    }
    
    function buscarRodada(){
        $dataHoje = mdate("%Y-%m-%d %H:%i:%s");
        $this->db->select('*');
        $this->db->where('inicio <=', $dataHoje);
        $this->db->where('fim >=', $dataHoje);
        return $this->db->get('majoribol_rodada')->row()->id;
    }
    
    function buscarRodadas(){
        $dataHoje = mdate("%Y-%m-%d %H:%i:%s");
        $this->db->select('*');
        $this->db->where('inicio <=', $dataHoje);
        return $this->db->get('majoribol_rodada')->result();
    }
    function verificaVotosTRod($id, $rodada){
        $this->db->select('*');
        $this->db->where('majoribol_rodada_id', $rodada);
        $this->db->where('majoribol_times_id', $id);
        return $this->db->get('majoribol_times_majoribol_rodada')->row();
        
    }
    
    function iniciaVotosTRod($id, $rodada, $data){
        $this->db->where('majoribol_rodada_id', $rodada);
        $this->db->where('majoribol_times_id', $id);
        if($this->db->insert('majoribol_times_majoribol_rodada', $data)){
            return true;
        }else{
            return false;
        }
        
    }
    
    function verificaVotosJRod($id, $rodada){
        $this->db->select('*');
        $this->db->where('majoribol_rodada_id', $rodada);
        $this->db->where('majoribol_jogadores_id', $id);
        return $this->db->get('majoribol_jogadores_majoribol_rodada')->row();
        
    }
    
    function iniciaVotosJRod($id, $rodada, $data){
        $this->db->where('majoribol_rodada_id', $rodada);
        $this->db->where('majoribol_jogadores_id', $id);
        if($this->db->insert('majoribol_jogadores_majoribol_rodada', $data)){
            return true;
        }else{
            return false;
        }
    }
    
    function verificaUVotoT($id, $rodada){
        $this->db->select('*');
        $this->db->where('majoribol_rodada_id', $rodada);
        $this->db->where('majoribol_times_id', $id);
        $this->db->where('usuarios_id', $this->session->userdata('id'));
        return $this->db->get('usuarios_voto_times')->row();
    }
    
    function verificaUVotoJ($id, $rodada){
        $this->db->select('*');
        $this->db->where('majoribol_rodada_id', $rodada);
        $this->db->where('majoribol_jogadores_id', $id);
        $this->db->where('usuarios_id', $this->session->userdata('id'));
        return $this->db->get('usuarios_voto_jogadores')->row();
    }
    
    function buscaJMeutime($posicao){
        $rodada = $this->buscarRodada();
        $this->db->select('*');
        $this->db->join('majoribol_jogadores', 'meu_time.majoribol_jogadores_id = majoribol_jogadores.id');
        $this->db->where('majoribol_rodada_id', $rodada);
        $this->db->where('usuarios_id', $this->session->userdata('id'));
        $this->db->where('majoribol_posicoes_id', $posicao);
        return $this->db->get('meu_time')->row()->id;
    }
    
    function comentarTime($data){
        if($this->db->insert('majoribol_coment_times', $data)){
            return true;
        }else{
            return false;
        }
    }
    
    function comentarJogador($data){
        if($this->db->insert('majoribol_coment_jogadores', $data)){
            return true;
        }else{
            return false;
        }
    }
    
    function buscarComentTime($time){
        $this->db->select('nome, data, titulo, comentario');
        $this->db->join('usuarios', 'majoribol_coment_times.usuarios_id = usuarios.id');
        $this->db->where('majoribol_coment_times.majoribol_times_id', $time);
        $resultado = $this->db->get('majoribol_coment_times')->result();
        /*$comentarios = array();
        $i = 0;
        foreach($resultado as $comentario) {
                $comentarios[$i] = $comentario->nome;
                $comentarios[$i] = $comentario->data;
                $comentarios[$i] = $comentario->titulo;
                $comentarios[$i] = $comentario->comentario;
                $i++;
        }*/

        return $resultado;
    }
    
    function buscarComentJogador($jogador){
        $this->db->select('nome, data, titulo, comentario');
        $this->db->join('usuarios', 'majoribol_coment_jogadores.usuarios_id = usuarios.id');
        $this->db->where('majoribol_coment_jogadores.majoribol_jogadores_id', $jogador);
        $resultado = $this->db->get('majoribol_coment_jogadores')->result();
        /*$comentarios = array();
        $i = 0;
        foreach($resultado as $comentario) {
                $comentarios[$i] = $comentario->nome;
                $comentarios[$i] = $comentario->data;
                $comentarios[$i] = $comentario->titulo;
                $comentarios[$i] = $comentario->comentario;
                $i++;
        }*/

        return $resultado;
    }
    
    function buscarComentUsuario($usuario){
        $this->db->select('*');
        $this->db->join('usuarios', 'majoribol_coment_times.usuarios_id = usuarios.id');
        $this->db->where('majoribol_coment_times.usuarios_id', $usuario);
        $resultado = $this->db->get('majoribol_coment_times')->result();
        
        return $resultado;
    }
}
?>
